36bf1325592d13e6821a899bafac770448014792,src/main/org/deidentifier/arx/metric/v2/MetricSDNMPublisherPayout.java,MetricSDNMPublisherPayout,getLowerBoundInternal,#Transformation#HashGroupify#,235
Before Change
while (entry != null) {
if (entry.count > 0) {
double informationLoss = this.getEntropyBasedInformationLoss(transformation, entry);
bound += entry.count * modelRisk.getExpectedPublisherPayout(informationLoss, 0d);
}
entry = entry.nextOrdered;
}
// Invert
bound = this.getNumTuples() * this.config.getPublisherBenefit() - bound;
// Return
return new ILSingleDimensional(bound);
After Change
// Compute
double bound = 0;
double gFactor = super.getGeneralizationFactor();
double maxPayout = this.config.getPublisherBenefit();
HashGroupifyEntry entry = groupify.getFirstEquivalenceClass();
while (entry != null) {
if (entry.count > 0) {
double informationLoss = this.getEntropyBasedInformationLoss(transformation, entry);
double boundPayout = modelRisk.getExpectedPublisherPayout(informationLoss, 0d);
bound += gFactor * entry.count * (maxPayout - boundPayout);
}
entry = entry.nextOrdered;
}